package leetcode_400;

/**
 *@author 周杨
 *GuessNumberHigherOrLower_374 猜数游戏 每次反馈一个大或小的信息 最后猜出数字
 *describe:二分搜索 AC 100%
 *2018年7月10日 上午10:42:37
 */
public class GuessNumberHigherOrLower_374 {
	private int res=2;
	
	
	public static void main(String[] args) {
		GuessNumberHigherOrLower_374 test=new GuessNumberHigherOrLower_374();
		System.out.println(test.guessNumber(3));
	}
	public int guessNumber(int n) {
        int l=1,r=n;
        while(l!=r) {
        	int m=l+(r-l)/2;
        	int res=guess(m);
        	if(res==-1){
        		l=m+1;
        	}
        	else if(res==1)
        		r=m-1;
        	else 
        		return m;
        }
        return l;
    }
	
	private int guess(int num) {
		if(num<res)
			return -1;
		else if(num>res)
			return 1;
		return 0;
	}
}
